﻿using System;
using UnityEngine.Rendering;
using LuaInterface;

public class ShadowCastingModeWrap
{
	static LuaMethod[] enums = new LuaMethod[]
	{
		new LuaMethod("Off", GetOff),
		new LuaMethod("On", GetOn),
		new LuaMethod("TwoSided", GetTwoSided),
		new LuaMethod("ShadowsOnly", GetShadowsOnly),
		new LuaMethod("IntToEnum", IntToEnum),
	};

	public static void Register(IntPtr L)
	{
		LuaScriptMgr.RegisterLib(L, "UnityEngine.Rendering.ShadowCastingMode", typeof(ShadowCastingMode), enums);
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int GetOff(IntPtr L)
	{
		LuaScriptMgr.Push(L, ShadowCastingMode.Off);
		return 1;
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int GetOn(IntPtr L)
	{
		LuaScriptMgr.Push(L, ShadowCastingMode.On);
		return 1;
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int GetTwoSided(IntPtr L)
	{
		LuaScriptMgr.Push(L, ShadowCastingMode.TwoSided);
		return 1;
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int GetShadowsOnly(IntPtr L)
	{
		LuaScriptMgr.Push(L, ShadowCastingMode.ShadowsOnly);
		return 1;
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int IntToEnum(IntPtr L)
	{
		int arg0 = (int)LuaDLL.lua_tonumber(L, 1);
		ShadowCastingMode o = (ShadowCastingMode)arg0;
		LuaScriptMgr.Push(L, o);
		return 1;
	}
}

